#ifndef ST7735_H
#define ST7735_H

#include "driver/gpio.h"
#include "driver/spi_master.h"
#include "lvgl.h"
// #include <esp_lvgl_port.h>

// ST7735 屏幕参数
#define ST7735_WIDTH 128
#define ST7735_HEIGHT 160

// 引脚定义
#define ST7735_CK_GPIO  2
#define ST7735_MOSI_GPIO 3
#define ST7735_RST_GPIO 10
#define ST7735_DC_GPIO 6
#define ST7735_CS_GPIO 7
#define ST7735_BLK_GPIO 11

#define PIN_NUM_MOSI  ST7735_MOSI_GPIO
#define PIN_NUM_CLK   ST7735_CK_GPIO
#define PIN_NUM_CS    ST7735_CS_GPIO
#define PIN_NUM_DC    ST7735_DC_GPIO
#define PIN_NUM_RST   ST7735_RST_GPIO
#define PIN_NUM_BL    ST7735_BLK_GPIO  // 可选背光控制
#define LCD_H_RES  ST7735_WIDTH
#define LCD_V_RES  ST7735_HEIGHT

#define SPI_BLACK_SIZE 4096 

void initializeSpi();
void initializeLcd();
void initializeLVGL();
void settingUI();
void decode_jpeg_to_rgb565(uint8_t *jpg_data, size_t jpg_size);
void showMsg(const char*);
void renderPhoto();
extern lv_obj_t *label;
extern bool needRenderPhoto;
#endif // ST7735_H